// import com.alibaba.druid.sql.ast.SQLCommentHint;
// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.List;
#pragma once
#include "../SQLStatementImpl.h"
#include "SQLShowStatement.h"

class SQLShowIndexesStatement 
: virtual public SQLStatementImpl,
 virtual public SQLShowStatement
{
public:
  SQLExprTableSource_ptr table;
  SQLCommentHint_list_ptr hints;
  SQLExpr_ptr where;
  string_ptr type;

  SQLShowIndexesStatement();
  SHAREDOBJECT(SQLShowIndexesStatement);

  SQLExprTableSource_ptr getTable();

  void setTable(SQLName_ptr table);

  void setTable(SQLExprTableSource_ptr table);

  SQLName_ptr getDatabase();

  SQLExpr_ptr getWhere();

  void setWhere(SQLExpr_ptr where);

  string_ptr getType();

  void setType(string_ptr type);

  void setDatabase(string_ptr database);

  void accept0(SQLASTVisitor_ptr visitor);

  SQLCommentHint_list_ptr getHints();

  void setHints(SQLCommentHint_list_ptr hints);
};
